\section{Exception\-Expecter$<$ E, BOOST\_\-PP\_\-ITERATION()$>$ Class Template Reference}
\label{class_exception_expecter_3_01_e_00_01_b_o_o_s_t___p_p___i_t_e_r_a_t_i_o_n()_4}\index{ExceptionExpecter< E, BOOST_PP_ITERATION()>@{ExceptionExpecter$<$ E, BOOST\_\-PP\_\-ITERATION()$>$}}
{\tt \#include $<$Exception\-Expecter\_\-template.h$>$}

\subsection*{Public Member Functions}
\begin{CompactItemize}
\item 
{\bf Exception\-Expecter} (boost::function$<$ void(details::Caught\-Exception\-Type)$>$ on\-Complete\-Functor)
\item 
{\bf $\sim$Exception\-Expecter} ()
\item 
{\bf BOOST\_\-PP\_\-REPEAT\_\-2ND} (BOOST\_\-PP\_\-ITERATION(), THROWEX, throw\-Ex) void execute(boost
\item 
void {\bf rethrow} (boost::function$<$ void()$>$ on\-Destroy\-Exception)
\item 
void {\bf free} ()
\begin{CompactList}\small\item\em releases any resources currently held by an \doxyref{Exception\-Expecter}{p.}{class_exception_expecter} instance, and deletes the instance itself. \item\end{CompactList}\end{CompactItemize}
\subsection*{Static Private Member Functions}
\begin{CompactItemize}
\item 
static void {\bf throw\-Ex\-Unexpected} (boost::function$<$ void()$>$ \&on\-Exception\-Destroyed)
\end{CompactItemize}
\subsection*{Private Attributes}
\begin{CompactItemize}
\item 
boost::function$<$ void(details::Caught\-Exception\-Type)$>$ {\bf m\_\-on\-Complete\-Functor}
\item 
boost::function$<$ void(boost::function$<$ void()$>$ \&)$>$ {\bf m\_\-rethrow\-Functor}
\item 
details::Caught\-Exception\-Type {\bf m\_\-caught\-Exception\-Type}
\end{CompactItemize}
\subsubsection*{template$<$typename E$>$ class Exception\-Expecter$<$ E, BOOST\_\-PP\_\-ITERATION()$>$}



\subsection{Constructor \& Destructor Documentation}
\index{ExceptionExpecter< E, BOOST_PP_ITERATION()>@{Exception\-Expecter$<$ E, BOOST\_\-PP\_\-ITERATION()$>$}!ExceptionExpecter@{ExceptionExpecter}}
\index{ExceptionExpecter@{ExceptionExpecter}!ExceptionExpecter< E, BOOST_PP_ITERATION()>@{Exception\-Expecter$<$ E, BOOST\_\-PP\_\-ITERATION()$>$}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$typename E$>$ {\bf Exception\-Expecter}$<$ E, BOOST\_\-PP\_\-ITERATION()$>$::{\bf Exception\-Expecter} (boost::function$<$ void(details::Caught\-Exception\-Type)$>$ {\em on\-Complete\-Functor})\hspace{0.3cm}{\tt  [inline]}}\label{class_exception_expecter_3_01_e_00_01_b_o_o_s_t___p_p___i_t_e_r_a_t_i_o_n()_4_937fd96f92730d74258e35978f0325de}


\index{ExceptionExpecter< E, BOOST_PP_ITERATION()>@{Exception\-Expecter$<$ E, BOOST\_\-PP\_\-ITERATION()$>$}!~ExceptionExpecter@{$\sim$ExceptionExpecter}}
\index{~ExceptionExpecter@{$\sim$ExceptionExpecter}!ExceptionExpecter< E, BOOST_PP_ITERATION()>@{Exception\-Expecter$<$ E, BOOST\_\-PP\_\-ITERATION()$>$}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$typename E$>$ {\bf Exception\-Expecter}$<$ E, BOOST\_\-PP\_\-ITERATION()$>$::$\sim${\bf Exception\-Expecter} ()\hspace{0.3cm}{\tt  [inline]}}\label{class_exception_expecter_3_01_e_00_01_b_o_o_s_t___p_p___i_t_e_r_a_t_i_o_n()_4_afb6f0922388eb72939bc6c78b755efb}




\subsection{Member Function Documentation}
\index{ExceptionExpecter< E, BOOST_PP_ITERATION()>@{Exception\-Expecter$<$ E, BOOST\_\-PP\_\-ITERATION()$>$}!BOOST_PP_REPEAT_2ND@{BOOST\_\-PP\_\-REPEAT\_\-2ND}}
\index{BOOST_PP_REPEAT_2ND@{BOOST\_\-PP\_\-REPEAT\_\-2ND}!ExceptionExpecter< E, BOOST_PP_ITERATION()>@{Exception\-Expecter$<$ E, BOOST\_\-PP\_\-ITERATION()$>$}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$typename E$>$ {\bf Exception\-Expecter}$<$ E, BOOST\_\-PP\_\-ITERATION()$>$::BOOST\_\-PP\_\-REPEAT\_\-2ND (BOOST\_\-PP\_\-ITERATION(), THROWEX, throw\-Ex)\hspace{0.3cm}{\tt  [inline]}}\label{class_exception_expecter_3_01_e_00_01_b_o_o_s_t___p_p___i_t_e_r_a_t_i_o_n()_4_8344e702c16a56271d550db49f4d4b9f}


\index{ExceptionExpecter< E, BOOST_PP_ITERATION()>@{Exception\-Expecter$<$ E, BOOST\_\-PP\_\-ITERATION()$>$}!rethrow@{rethrow}}
\index{rethrow@{rethrow}!ExceptionExpecter< E, BOOST_PP_ITERATION()>@{Exception\-Expecter$<$ E, BOOST\_\-PP\_\-ITERATION()$>$}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$typename E$>$ void {\bf Exception\-Expecter}$<$ E, BOOST\_\-PP\_\-ITERATION()$>$::rethrow (boost::function$<$ void()$>$ {\em on\-Destroy\-Exception})\hspace{0.3cm}{\tt  [inline]}}\label{class_exception_expecter_3_01_e_00_01_b_o_o_s_t___p_p___i_t_e_r_a_t_i_o_n()_4_6ee3cb197b509a3776cf9da2a2c76c7f}


\index{ExceptionExpecter< E, BOOST_PP_ITERATION()>@{Exception\-Expecter$<$ E, BOOST\_\-PP\_\-ITERATION()$>$}!free@{free}}
\index{free@{free}!ExceptionExpecter< E, BOOST_PP_ITERATION()>@{Exception\-Expecter$<$ E, BOOST\_\-PP\_\-ITERATION()$>$}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$typename E$>$ void {\bf Exception\-Expecter}$<$ E, BOOST\_\-PP\_\-ITERATION()$>$::free ()\hspace{0.3cm}{\tt  [inline]}}\label{class_exception_expecter_3_01_e_00_01_b_o_o_s_t___p_p___i_t_e_r_a_t_i_o_n()_4_25d7ef75b058b698cc1e1c9c2040c781}


releases any resources currently held by an \doxyref{Exception\-Expecter}{p.}{class_exception_expecter} instance, and deletes the instance itself. 

\index{ExceptionExpecter< E, BOOST_PP_ITERATION()>@{Exception\-Expecter$<$ E, BOOST\_\-PP\_\-ITERATION()$>$}!throwExUnexpected@{throwExUnexpected}}
\index{throwExUnexpected@{throwExUnexpected}!ExceptionExpecter< E, BOOST_PP_ITERATION()>@{Exception\-Expecter$<$ E, BOOST\_\-PP\_\-ITERATION()$>$}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$typename E$>$ static void {\bf Exception\-Expecter}$<$ E, BOOST\_\-PP\_\-ITERATION()$>$::throw\-Ex\-Unexpected (boost::function$<$ void()$>$ \& {\em on\-Exception\-Destroyed})\hspace{0.3cm}{\tt  [inline, static, private]}}\label{class_exception_expecter_3_01_e_00_01_b_o_o_s_t___p_p___i_t_e_r_a_t_i_o_n()_4_8e196738b67d6243bb125990d5784fdb}




\subsection{Member Data Documentation}
\index{ExceptionExpecter< E, BOOST_PP_ITERATION()>@{Exception\-Expecter$<$ E, BOOST\_\-PP\_\-ITERATION()$>$}!m_onCompleteFunctor@{m\_\-onCompleteFunctor}}
\index{m_onCompleteFunctor@{m\_\-onCompleteFunctor}!ExceptionExpecter< E, BOOST_PP_ITERATION()>@{Exception\-Expecter$<$ E, BOOST\_\-PP\_\-ITERATION()$>$}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$typename E$>$ boost::function$<$void(details::Caught\-Exception\-Type)$>$ {\bf Exception\-Expecter}$<$ E, BOOST\_\-PP\_\-ITERATION()$>$::{\bf m\_\-on\-Complete\-Functor}\hspace{0.3cm}{\tt  [private]}}\label{class_exception_expecter_3_01_e_00_01_b_o_o_s_t___p_p___i_t_e_r_a_t_i_o_n()_4_47c7e8f8aba1d42ee54c16817cc73835}


\index{ExceptionExpecter< E, BOOST_PP_ITERATION()>@{Exception\-Expecter$<$ E, BOOST\_\-PP\_\-ITERATION()$>$}!m_rethrowFunctor@{m\_\-rethrowFunctor}}
\index{m_rethrowFunctor@{m\_\-rethrowFunctor}!ExceptionExpecter< E, BOOST_PP_ITERATION()>@{Exception\-Expecter$<$ E, BOOST\_\-PP\_\-ITERATION()$>$}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$typename E$>$ boost::function$<$void(boost::function$<$void()$>$\&)$>$ {\bf Exception\-Expecter}$<$ E, BOOST\_\-PP\_\-ITERATION()$>$::{\bf m\_\-rethrow\-Functor}\hspace{0.3cm}{\tt  [private]}}\label{class_exception_expecter_3_01_e_00_01_b_o_o_s_t___p_p___i_t_e_r_a_t_i_o_n()_4_219e9c28758614ab74b8be690eb426a8}


\index{ExceptionExpecter< E, BOOST_PP_ITERATION()>@{Exception\-Expecter$<$ E, BOOST\_\-PP\_\-ITERATION()$>$}!m_caughtExceptionType@{m\_\-caughtExceptionType}}
\index{m_caughtExceptionType@{m\_\-caughtExceptionType}!ExceptionExpecter< E, BOOST_PP_ITERATION()>@{Exception\-Expecter$<$ E, BOOST\_\-PP\_\-ITERATION()$>$}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}template$<$typename E$>$ details::Caught\-Exception\-Type {\bf Exception\-Expecter}$<$ E, BOOST\_\-PP\_\-ITERATION()$>$::{\bf m\_\-caught\-Exception\-Type}\hspace{0.3cm}{\tt  [private]}}\label{class_exception_expecter_3_01_e_00_01_b_o_o_s_t___p_p___i_t_e_r_a_t_i_o_n()_4_00f35776d2ff698b8c635eb3aa34bc5a}




The documentation for this class was generated from the following file:\begin{CompactItemize}
\item 
Thread\-Synch/{\bf Exception\-Expecter\_\-template.h}\end{CompactItemize}
